// 思路，双指针法， 容纳水量是由左右两端较低的高度和两端之间的距离的乘积决定的
// 用两个指针left和right分别指向数组的开始和结束位置，计算并更新最大面积
// 每次遍历，比较nums[left]和nums[right]
// 如果nums[left] < nums[right]，则left右移，否则right左移

function maxArea(arr) {
    let left = 0
    let right = arr.length - 1
    let ans = 0
    while (left < right) {
        let area = Math.min(arr[left], arr[right]) * (right - left)
        ans = Math.max(ans, area)
        if (arr[left] < arr[right]) {
            left++
        } else {
            right--
        }
    }
    return ans
}

let arr = [1, 8, 6, 2, 5, 4, 8, 3, 7]
console.log(maxArea(arr));